package com.example.test016;

/**
 * 任务类:
 *    包含商品数量，客户名称，送手机的行为
 */
public class MyTask implements Runnable{

//  设计一个变量，用于表示商品的数量
    private static int num=10;

//  客户名称
    private String userName;


    @Override
    public void run() {
        String name = Thread.currentThread().getName();
        System.out.println(userName+"正在使用"+name+"参与秒杀任务......");

        try {
            Thread.sleep(200);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }

//      使用字节码文件作为锁对象
        synchronized (MyTask.class){
             if (num>0){
                 System.out.println(userName+"正在使用"+name+"秒杀了"+ --num +"商品");
             }else {
                 System.out.println(userName+"秒杀失败");
             }
        }
    }

    public MyTask(String userName) {
        this.userName = userName;
    }
}
